/**
 * json配置举例，更多配置请看 IConfigSchema
 * @author luguoxiang
 * @date 2022/7/5
 * 开源项目：https://gitee.com/lgx1992/lg-soar 求star！请给我star！请帮我点个star！
 */
import { IConfigSchema } from '@/soar';
// 获取全部图标的列表

const fieldList: IConfigSchema<any>[] = [
  {
    field: 'spliceType',
    label: '拼接方式',
    dataType: 'dict',
    params: 'SpliceTypeEnum',
    table: {
      width: 80,
    },
  },
  {
    field: 'tableName',
    label: '表名（别名）',
    dataType: 'string',
  },
  {
    field: 'columnName',
    label: '列名',
    dataType: 'string',
    form: {
      rules: true,
      slots: 'columnName',
    },
  },
  {
    field: 'expression',
    label: '表达式',
    dataType: 'dict',
    params: 'ExpressionEnum',
    form: {
      rules: true,
    },
  },
  {
    field: 'provideType',
    label: '提供方式',
    dataType: 'dict',
    params: 'ProvideTypeEnum',
    table: {
      width: 80,
    },
    form: false,
  },
  {
    field: 'columnValue',
    label: '列值',
    dataType: 'string',
    table: {
      slots: 'columnValue',
    },
    form: {
      slots: 'columnValue',
      rules: true,
    },
  },
];

export default fieldList;

export const resourceSchema: IConfigSchema<any>[] = [
  {
    field: 'code',
    label: '资源编码',
    dataType: 'string',
    form: {
      rules: true,
      slots: 'code',
      formItemProps: {
        tips: '请求路径或 @DataScope 配置的编码',
      },
    },
  },
  {
    field: 'name',
    label: '资源名称',
    dataType: 'string',
    form: {
      rules: true,
    },
  },
  {
    field: 'disabled',
    label: '禁用的',
    dataType: 'boolean',
  },
];

export const ruleSchema: IConfigSchema<any>[] = [
  {
    field: 'name',
    label: '名称',
    dataType: 'string',
    form: {
      rules: true,
    },
  },
  {
    field: 'defaulted',
    label: '缺省的',
    dataType: 'boolean',
    form: {
      disabled({ data }) {
        return data.resourceId === '0';
      },
      formItemProps: {
        tips: '为true时表示：用户未分配有该资源任何规则时默认启用该规则',
      },
    },
  },
];
